package com.tengju.data.infrastructure.persistence.mybatis.mapper.clickhouse.crm;

import com.tengju.data.infrastructure.persistence.mybatis.dataobject.DashBoardMarketDO;
import com.tengju.data.infrastructure.persistence.mybatis.dataobject.DashBoardPeopleAnalysisDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DashBoardMarketMapper {

    List<DashBoardPeopleAnalysisDO> getKAPeopleAnalysis(@Param("idCodeList") List<Long> idCodeList);

    List<DashBoardPeopleAnalysisDO> getSECPeopleAnalysis(@Param("secIdCode") Long secIdCode);

    List<DashBoardMarketDO> getKABrandMarketSort(@Param("dateType") Integer dateType,
                                                 @Param("startMonthDate") String startMonthDate,
                                                 @Param("endMonthDate") String endMonthDate,
                                                 @Param("mediumMonthDate") String mediumMonthDate,
                                                 @Param("idCodeList") List<Long> idCodeList);

    List<DashBoardMarketDO> getSecGoodsMarketSort(@Param("dateType") Integer dateType,
                                                  @Param("startMonthDate") String startMonthDate,
                                                  @Param("endMonthDate") String endMonthDate,
                                                  @Param("mediumMonthDate") String mediumMonthDate,
                                                  @Param("idCodeList") List<Long> idCodeList);

    List<DashBoardMarketDO> getSECBrandMarketSort(@Param("dateType") Integer dateType,
                                                  @Param("startMonthDate") String startMonthDate,
                                                  @Param("endMonthDate") String endMonthDate,
                                                  @Param("mediumMonthDate") String mediumMonthDate,
                                                  @Param("idCodeList") List<Long> idCodeList);

    List<Long> getDominationIdCode(@Param("dateType") Integer dateType,
                                   @Param("lastMonthDate") String lastMonthDate,
                                   @Param("idCodeList") List<Long> idCodeList);


}
